from src.util.Route import *
from src.service import ConfigManagerService


# 获取所有的配置信息(分页 所有信息)
# 获取公共配置
@route("/config/public/all")
def configGetPublicAll():
    r = ConfigManagerService.getConfigAll('public')
    return R.success(r)


# 获取系统配置
@Get("/config/sys/all")
def configGetSysAll():
    r = ConfigManagerService.getConfigAll(['sys', 'public'])
    return R.success(r)


# 用户获取自己信息
@route("/config/my")
def configGetKey():
    r = ConfigManagerService.getConfigKey(getUsername())
    return R.success(r)


# 修改配置信息（除了cid）
@route("/config/update/sys", methods=['POST'])
def configUpdate():
    r = ConfigManagerService.updateSysConfig(request.json)
    if r:
        return R.success(r, "配置信息修改成功")
    else:
        return R.create(400, None, '配置信息修改失败')


# 根据key修改配置信息
@route("/config/update/user", methods=['POST'])
def configUpdateKey():
    k: dict = request.json
    r = ConfigManagerService.updateConfigKey(getUsername(), k)
    if r:
        return R.success(r, "配置信息修改成功")
    else:
        return R.create(400, None, '配置信息修改失败')
